1 REM ********************* 2 REM * DISK NAME CHANGER * 3 REM * BY * 4 REM * BOB DICKOW * 5 REM ********************* 6 : 70 REM --INITIALIZE & DISPLAY SCREEN-- 80 Q$=CHR$(34): AR$=CHR$(95): BK$=CHR$(20): DE$="[157]-[157]": CH$=CHR$(221) 90 BX$=" [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]":BY$=" [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]" 100 DH$=CHR$(166):FORX=1TO40:LN$=LN$+DH$:NEXT:R$=CHR$(13): DISK=8 110 FORX=1TO16:SP$=SP$+CHR$(160):BL$=BL$+"-":NEXT 120 PRINT"[147][158] ***DISK NAME CHANGER***" 130 PRINT:PRINT" "Q$;AR$;Q$" = ABORT THE CHANGE OR EXIT" 140 PRINT" "Q$"INST/DEL"Q$" = DELETE A CHARACTER" 150 PRINT" HIT "Q$"RETURN"Q$" KEY TO ENTER CHANGE.":PRINT 160 PRINTLN$ 170 PRINT" INSERT DISK & HIT ";Q$;"RETURN"Q$" WHEN READY" 180 CU=0: GOSUB 520 190 IFA$=AR$ THEN PRINT"[147]":END 200 IFA$<>R$ THENPRINT"[145]";:GOTO170 210 OPEN 15,8,15:PRINT#15,"I0":GOSUB 570 220 REM --GET DISK NAME FROM BAM-- 230 B$="": OPEN8,DI,8,"#":PRINT#15,"UA:";8;0;18;0:PRINT#15,"B-P:";8;144 240 FORX=1TO20:GET#8,A$:B$=B$+A$:NEXT 250 CLOSE8: CLOSE 15 260 NM$=LEFT$(B$,16):ID$=RIGHT$(B$,2) 270 PRINT"[145] CURRENT DISK NAME: "NM$;",";ID$:B$="" 280 PRINT" TYPE NEW DISK NAME (16 CHRS MAXIMUM): ":PRINT BX$ 290 PRINT SPC(11);CH$;BL$;CH$:PRINTBY$:PRINT"[145][145]";SPC(12); 300 CU=1:GOSUB520 310 IFA$=R$ AND PEEK(211)<>28THEN PRINT"-[157]";:GOTO 410 320 Z=LEN(B$):IFA$=R$ THEN 410 330 IF A$=BK$ AND Z=0 THEN300 340 IFA$=BK$ANDPEEK(211)=28THENPRINT CH$"[157]";DE$;:B$=LEFT$(B$,Z-1):GOTO300 350 IFA$=BK$THEN PRINT"-[157]";DE$;:B$=LEFT$(B$,Z-1):GOTO300 360 IFA$=AR$ THEN B$="":PRINT:PRINT"[145]ABORTED":GOTO 480 370 IFA$="[145]"ORA$=""ORA$=""ORA$="[147]"ORA$=""ORA$="[157]"THEN300 380 IFZ<16THENB$=B$+A$:CU=1:PRINTA$; 390 Z=LEN(B$):GOTO300 400 REM --WRITE TO DISK ROUTINE-- 410 OPEN15,DI,15:OPEN 8,DI,8,"#":FORX=1TO2:PRINT#15,"B-P:"8;144 420 IFX=1THENPRINT#8,SP$;:NEXT 430 PRINT#8,B$; 440 PRINT#15,"U2:"8;0;18;0:GOSUB 570 450 CLOSE8:CLOSE15 460 PRINT:PRINTSPC(20);"[145][145][145][145][145][145]";B$; 470 PRINTRIGHT$(SP$,16-LEN(B$));","ID$;"" 480 PRINT:PRINT SPC(12)"CONTINUE? (Y/N)[157][157][157][157]";:CU=1:GOSUB520 490 IFA$="Y" OR A$=R$ THEN POKE 204,1:PRINT:GOTO120 500 PRINT:END 510 REM --INPUT SUBROUTINE-- 520 GETA$:IF CU THEN POKE 204,0:POKE 207,0 530 IF CU AND A$="" AND PEEK(211)=28 THEN CU=0:POKE204,1:PRINT CH$"[157]"; 540 IF A$=""THEN 520 550 POKE204,1:RETURN 560 REM --ERROR CHECK SUBROUTINE-- 570 INPUT#15,E,E$,T,S 580 IFE>=20THENPRINT:PRINT"ERROR#"E;""E$:CLOSE8:CLOSE 15:END 590 RETURN